One aspect of the World Wide Web that has contributed to its vast popularity is the fact that users can access most websites at any time of the day or night. This feature allows users to obtain information, do their shopping or banking, plan trips, and perform many other web-enabled transactions and operations at whatever time suits the users' wishes or needs. In fact, users have developed an expectation that websites should be available twenty-four hours a day, seven days a week. Websites that fail to meet these expectations can cause inconvenience to users, have a negative impact on the user's perception of the underlying company, and can cause companies to lose business.
It is often needed or desirable to update a website so as to incorporate new functionality and/or information. Such updates may include, for example, database updates, application server updates, security updates, user interface upgrades, and the like. For example, for an e-commerce website, updates may be needed to add, delete, or change products, change descriptions, change the operation of the shopping cart and other features, and the like. Database schema updates may also be needed, for example if fields are to be added, deleted or changed within a database table.
Website updates often involve a substantial amount of effort and can take time. Conventionally, therefore, it is often necessary to take down a website while updates or other maintenance is taking place. Generally, website operators try to perform such operations at a time when traffic is at a minimum, for example during the very early mornings within the geographic region having the greatest concentration of website visitors (or potential visitors). However, for websites that are commonly accessed by people around the world, it may be difficult to identify such low-traffic time periods. In addition, even if updates are performed during low-traffic time periods, some users will still be inconvenienced by the lack of availability of the website during these time periods.
Furthermore, any users who are in the midst of an online session, such as for example making a purchase on an e-commerce site, will be particularly disrupted when the website is taken down. In some cases, valuable session data may be lost and the user may have to re-enter the data at such time as the website is made available again. In other cases, the user may be unsure as to whether the transaction was completed. Users experiencing such frustrations may be compelled to conduct their business at a competitor's site, thus costing the website operator some valuable business.
What is needed, therefore, is a system and method of updating a website with little or no downtime. What is further needed is a system and method for updating a database schema for a website with little or no downtime. What is further needed is a system and method of performing website updates in a manner that avoids the limitations and disadvantages of conventional techniques.